package com.ssy.lingxi.member.merchant.api.model.vo.inner.request;

import com.ssy.lingxi.member.merchant.api.handler.annotation.DateTimeStringFormatAnnotation;

import javax.validation.constraints.*;
import java.io.Serializable;

/**
 * 会员售后评价VO
 * @author 万宁
 * @version 2.0.0
 * @date 2020-11-20
 */
public class MemberFeignAfterSaleCommentVO implements Serializable {
    private static final long serialVersionUID = -1077767718175271000L;

    /**
     * 评价发起方会员Id
     */
    @NotNull(message = "评价发起方会员Id要大于0")
    @Positive(message = "评价发起方会员Id要大于0")
    private Long commentMemberId;

    /**
     * 评价发起方会员角色Id
     */
    @NotNull(message = "评价发起方会员角色Id要大于0")
    @Positive(message = "评价发起方会员角色Id要大于0")
    private Long commentRoleId;

    /**
     * 被评价方会员Id
     */
    @NotNull(message = "被评价方会员Id要大于0")
    @Positive(message = "被评价方会员Id要大于0")
    private Long receivedMemberId;

    /**
     * 被评价方会员角色Id
     */
    @NotNull(message = "被评价方会员角色Id要大于0")
    @Positive(message = "被评价方会员角色Id要大于0")
    private Long receivedRoleId;

    /**
     * 售后时间，格式为 yyyy-MM-dd HH:mm:ss
     */
    @DateTimeStringFormatAnnotation
    private String afterSaleTime;

    /**
     * 评价星级（1-5）
     */
    @NotNull(message = "评论星级：1-5")
    @Min(value = 1, message = "评论星级：1-5")
    @Max(value = 5, message = "评论星级：1-5")
    private Integer star;

    /**
     * 评价内容
     */
//    @NotBlank(message = "评论内容不能为空")
    private String comment;

    /**
     * 售后商品
     */
    @NotBlank(message = "售后商品不能为空")
    private String product;

    /**
     * 售后单号
     */
    @NotBlank(message = "售后单号不能为空")
    private String orderNo;

    public Long getCommentMemberId() {
        return commentMemberId;
    }

    public void setCommentMemberId(Long commentMemberId) {
        this.commentMemberId = commentMemberId;
    }

    public Long getCommentRoleId() {
        return commentRoleId;
    }

    public void setCommentRoleId(Long commentRoleId) {
        this.commentRoleId = commentRoleId;
    }

    public Long getReceivedMemberId() {
        return receivedMemberId;
    }

    public void setReceivedMemberId(Long receivedMemberId) {
        this.receivedMemberId = receivedMemberId;
    }

    public Long getReceivedRoleId() {
        return receivedRoleId;
    }

    public void setReceivedRoleId(Long receivedRoleId) {
        this.receivedRoleId = receivedRoleId;
    }

    public String getAfterSaleTime() {
        return afterSaleTime;
    }

    public void setAfterSaleTime(String afterSaleTime) {
        this.afterSaleTime = afterSaleTime;
    }

    public Integer getStar() {
        return star;
    }

    public void setStar(Integer star) {
        this.star = star;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public String getProduct() {
        return product;
    }

    public void setProduct(String product) {
        this.product = product;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }
}
